package com.jzg.sys.dao.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 交易记录表
 * </p>
 *
 * @author lzp
 * @since 2019-02-27
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("BASE_TRAN_LOG")
public class BaseTranLog extends Model<BaseTranLog> {

    private static final long serialVersionUID = 1L;

    /**
     * 交易记录ID
     */
    @TableId("TRAN_LOG_ID")
    private String tranLogId;

    /**
     * 交易账户ID
     */
    @TableField("TRAN_ACCOUNT_ID")
    private String tranAccountId;

    /**
     * 虚拟账户ID
     */
    @TableField("VITUAL_ACCOUNT_ID")
    private String vitualAccountId;

    /**
     * 交易方式：01支付宝，02微信，03余额，04支付宝混合，05微信混合
     */
    @TableField("TRAN_MODE")
    private String tranMode;

    /**
     * 01收入，02支出
     */
    @TableField("PAYMENT_TYPE")
    private String paymentType;

    /**
     * 交易项目
     */
    @TableField("PAYMENT_ITEM")
    private String paymentItem;

    /**
     * 交易流水号
     */
    @TableField("PAYMENT_NO")
    private String paymentNo;

    /**
     * 交易金额
     */
    @TableField("PAYMENT_MONEY")
    private Double paymentMoney;

    /**
     * 交易时间
     */
    @TableField("RUN_TIME")
    private Date runTime;

    /**
     * 交易状态
     */
    @TableField("PAYMENT_STATE")
    private Boolean paymentState;

    /**
     * 版本
     */
    @TableField("VERSION")
    private Long version;

    /**
     * 是否启用
     */
    @TableField("STATUS")
    private Boolean status;

    /**
     * 录入人ID
     */
    @TableField("INPUTER")
    private String inputer;

    /**
     * 录入人ID
     */
    @TableField("INPUTE_NAME")
    private String inputeName;

    /**
     * 录入时间
     */
    @TableField("INPUT_TIME")
    private Date inputTime;

    /**
     * 修改人姓名
     */
    @TableField("UPDATE_NAME")
    private String updateName;

    /**
     * 修改人ID
     */
    @TableField("UPDATER")
    private String updater;

    /**
     * 修改时间
     */
    @TableField("UPDATE_TIME")
    private Date updateTime;

    /**
     * 系统编码
     */
    @TableField("SYS_CODE")
    private String sysCode;

    /**
     * 系统名称
     */
    @TableField("SYS_NAME")
    private String sysName;

    @TableField("BATCH_NO")
    private String batchNo;

    @TableField("RETURN_URL")
    private String returnUrl;


    @Override
    protected Serializable pkVal() {
        return this.tranLogId;
    }

}
